c1545b51b2981b32481ecf4e02b5bd07f8b09d82,platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java,EditorMarkupModelImpl,showToolTipByMouseMove,#MouseEvent#number#,148
Before Change
boolean bigEditorView = false;
TooltipRenderer bigRenderer = null;
if (ApplicationManager.getApplication().isInternal()){
int line = myEditor.offsetToLogicalLine(yPositionToOffset(y, true));
int startOffset = myEditor.logicalPositionToOffset(new LogicalPosition(Math.max(0, line - getMinHeight()), 0));
LogicalPosition endPosition = new LogicalPosition(Math.max(0, line + getMinHeight()), 0);
After Change
boolean isVisible = area.contains(area.x, realY);//area.y < realY && area.y + area.height > realY;
TooltipRenderer bigRenderer;
if (!ApplicationManager.getApplication().isInternal() || isVisible) {
final Set<RangeHighlighter> highlighters = new THashSet<RangeHighlighter>();
getNearestHighlighters(this, me.getY(), highlighters);
getNearestHighlighters((MarkupModelEx)DocumentMarkupModel.forDocument(myEditor.getDocument(), getEditor().getProject(), true), me.getY(), highlighters);
int minDelta = Integer.MAX_VALUE;
int y = e.getY();
for (RangeHighlighter each : highlighters) {
ProperTextRange range = offsetsToYPositions(each.getStartOffset(), each.getEndOffset());
int eachStartY = range.getStartOffset();
int eachEndY = range.getEndOffset();
int eachY = eachStartY + (eachEndY - eachStartY) / 2;
if (Math.abs(e.getY() - eachY) < minDelta) {
y = eachY;
}
}
me = new MouseEvent(e.getComponent(), e.getID(), e.getWhen(), e.getModifiers(), e.getX(), y + 1, e.getClickCount(),
e.isPopupTrigger());
if (highlighters.isEmpty()) return false;
bigRenderer = myTooltipRendererProvider.calcTooltipRenderer(highlighters);
} else {
final List<RangeHighlighterEx> highlighters = new ArrayList<RangeHighlighterEx>();
collectRangeHighlighters(this, line, highlighters);
collectRangeHighlighters((MarkupModelEx)DocumentMarkupModel.forDocument(myEditor.getDocument(), getEditor().getProject(), true), line,
highlighters);